package com.css.dzj.dzjap.modules.administration.check.service;

import com.css.dzj.dzjap.modules.administration.check.entity.ApJgxwCheckAction;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;


public interface CheckService {
    /**
     * 通过ID查询（行政检查行为）监管信息信用表
     */
    ApJgxwCheckAction getCheck(String actionId);


    /**
     * 修改（行政检查行为）监管信息信用表
     */
    void updateCheck(ApJgxwCheckAction apJgxwCheckAction);


    /**
     * 通过ID删除(行政检查行为）监管信息信用表
     */
    Boolean delCheck(String actionId);

    /**
     * 添加(行政检查行为）监管信息信用表
     */
    String addCheck(ApJgxwCheckAction apJgxwCheckAction);

    /**
     * 分页查询
     */
    QueryResults<ApJgxwCheckAction> getAllCheck(Pageable pageable);

    /**
     *  多条件分页查询
     */
    QueryResults<ApJgxwCheckAction> getAllContation(Pageable pageable, String superviseItemImplementCode, String checkActionName,
                                                   String checkActionCode, String checkDate);

    HashMap getCount();

    HashMap getCountByYear(String year);

    Long getOpCheck(HttpServletRequest request);
    /**
     * 风险预警调用接口，通过行为编号查询
     * @param code
     * @return
     */
    ApJgxwCheckAction getAction(String code);

    /***
     * 查询列表对外接口
     * @param pageable
     * @param superviseItemImplementCode
     * @param checkActionName
     * @param checkActionCode
     * @param checkForm
     * @param checkType
     * @param checkMode
     * @param endDate
     * @param startDate
     * @return
     */
    QueryResults<ApJgxwCheckAction> getAll(Pageable pageable, String superviseItemImplementCode, String checkActionName,
           String checkResult, String checkForm,String checkType,String checkMode,String checkDate);

    Long getNum();
   List<ApJgxwCheckAction> getList(String superviseItemImplementCode, String checkActionName,
            String checkResult, String checkForm,String checkType,String checkMode,String checkDate);
   List<ApJgxwCheckAction> getByIds(List<String> ids);
}
